gs_unref_object OstreeDeployment *new_deployment = NULL;
gs_unref_object OstreeDeployment *merge_deployment = NULL;
gs_unref_object OstreeRepo *repo = NULL;
+ gs_unref_object GFile *osdeploydir = NULL;
gs_unref_object GFile *commit_root = NULL;
gs_unref_object GFile *tree_kernel_path = NULL;
gs_unref_object GFile *tree_initramfs_path = NULL;
if (osname == NULL)
osname = ostree_deployment_get_osname (self->booted_deployment);
+ osdeploydir = ot_gfile_get_child_build_path (self->path, "ostree", "deploy", osname, NULL);
+ if (!g_file_query_exists (osdeploydir, NULL))
+ {
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ "No OS named \"%s\" known", osname);
+ goto out;
+ }
+
if (!ostree_sysroot_get_repo (self, &repo, cancellable, error))
goto out;
echo "ok setup"
-echo "1..8"
+echo "1..9"
ostree --repo=sysroot/ostree/repo pull-local --remote=testos testos-repo testos/buildmaster/x86_64-runtime
rev=$(ostree --repo=sysroot/ostree/repo rev-parse testos/buildmaster/x86_64-runtime)
echo "ok third deploy (swap)"
+ostree admin --sysroot=sysroot os-init otheros
+
ostree admin --sysroot=sysroot deploy --os=otheros testos/buildmaster/x86_64-runtime
assert_not_has_dir sysroot/boot/loader.0
assert_has_dir sysroot/boot/loader.1
ostree admin --sysroot=sysroot status
echo "ok undeploy"
+
+if ostree admin --sysroot=sysroot deploy --os=unknown testos:testos/buildmaster/x86_64-runtime; then
+ assert_not_reached "Unexpected successful deploy of unknown OS"
+fi
+echo "ok deploy with unknown OS"